約 4,501,139 件
https://w.atwiki.jp/pokegaisyosetu/pages/29.html
僕の名前はポン太。 DSってマジおもしろいよね。 ダブルスクリーンだからDSなんだよ。知ってた? …うー。 おしっこしたくなってきた… そこの影でするかな。 「ふぃー…」 チョロロロ… 「きゃ!」 「うわ!」 僕は急いでズボンを上げた。 急に女の人が来たからだ。 「す、すいません!」 僕はとりあえず謝った。 すると女の人はこう言った。 「グロいよ ボウヤの アレ」 「GBA」完 このページを見た人の人数は - 人です 名前 コメント
https://w.atwiki.jp/mtg2384/pages/1303.html
autolink シー・スプライト/Sea Sprite (1)(青) クリーチャー ― フェアリー(Faerie) 飛行、プロテクション(赤) 1/1 《シー・スプライト/Sea Sprite》をGathererで確認 《シー・スプライト/Sea Sprite》をGoogleで検索 《シー・スプライト/Sea Sprite》が使用された大会 取得中です。 カードテキスト転載元:Wisdom Guild様 2011 / 10 / 30
https://w.atwiki.jp/olgn/pages/798.html
雷閃-レッド・スプライト 速攻魔法 チェーン2以降に発動。デッキから「ライブリッツ」と名のついたモンスター1体を手札に加える。チェーン2で発動した場合、その後手札を1枚捨てる。 「雷閃」と名のついたカードは同一チェーン上に1枚しか発動できない。 【ライブリッツ】
https://w.atwiki.jp/kouraku_tiritomado/pages/24.html
どうも私は根本的にスプライトを理解するまでヒトヤマありました。多分、一般的な ”スプライト”の言葉の意味にひっぱられて広義に解釈できなかっただけとは思うんですが…。 まず狭義におけるスプライト:拡大縮小・回転・平行移動については、一旦忘れましょう。簡単に言えば ParaFla のスプライトとは、フォトショでいうレイヤーで、イラレでいうグループです。キャンバスなど素地や土台、受け皿のようなものになります。 理系っぽく言い換えると ParaFla のスプライトは、タイムラインに沿ってテキスト、画像、AS を配置する一種のコンテナ機能です(ちなみに、タイムラインはフレーム単位です)。ネストのように、スプライト自体を別のスプライトのタイムライン上に配置することが可能です。つまり ParaFla フラッシュの設計としては、たった一つのスプライトで終始することも、「一連のアニメーションを記述したスプライトを、それとは別に遷移を管理するスプライトから呼び出す」ことも出来て、規模に応じて各々が作りやすいよう切り替えていきます。 スプライトの階層化が理解できたら、根元の存在が気になります。ParaFla では最初から削除不能な”(メイン)”というスプライトが存在します。これがいわゆる根元になっていて、ParaFla フラッシュの実行開始点にあたります。なので、この根元の(メイン)スプライトに各種リソースや子スプライトを追加していきます。たいていの場合、(メイン)にゴリゴリとアニメーションを書き込んでいくか、遷移の管理を書き込んでいくかするはずです。また(メイン)は、ParaFla の AS からは ”ルート” として扱われるスプライトになります。 それを踏まえて、拡大縮小・回転・平行移動について説明します。 「位置情報」は、画像にも ParaFla スプライト全体にも個別に設定できる。 AS からは ParaFla スプライトの「位置情報」のみアクセス可能 頭がこんがらがるポイントですが、これさえ理解できたら完璧です。 たとえば、コンテナである ParaFla スプライトを新たに作成し、画像を ParaFla スプライト上に配置します。その時、タイムライン上でのフレームと同時に、画像の「位置情報」を設定できます。いわゆる狭義におけるスプライト:拡大縮小・回転・平行移動の設定です。かくして ParaFla スプライト上に画像を配置できましたが、この中身の詰まった ParaFla スプライトを(メイン)など別のスプライト上に配置しますと、この時再び、配置するスプライトの「位置情報」を設定できます。もちろん画像の「位置情報」と違って、スプライトの「位置情報」は、スプライトに含まれる画像などのリソース全体に影響します。また、アクションスクリプトを記述する上で重要なのが、 ”ParaFla の AS から操作できるのは ParaFla スプライトの「位置情報」のみ” という事です。スプライトに配置した画像の「位置情報」は AS からは直接タッチできません。画像を操作したかったら、一枚っきりの単純なイメージでも必ずスプライトに格納し、スプライトを丸ごと操作する手順を踏みます。 言ってしまえばたったコレだけなのですが、この点をストレートにまとめた文献が少ないので、私はわりと暗中模索にゲンナリしてしまいました。乱筆ですが、一人でも多くサクッとつかめてもらえれば幸いです。
https://w.atwiki.jp/sm4wiki_mix/pages/32.html
はじめに とりあえず現在は参考になりそうな書き込みを置いておきますので、参考にしてください。 正式にまとめますので・・・。 注)よくわからん人はSpriteToolを使ったほうが無難です。 必要なもの 英語版マリオワールドのROM(一度Lunar Magicでいじったもの) Lunar Magic スプライトのASMファイル Tweacker(SMW Centralから落としてください) 65816 Tricks Assembler Version 1.11(略してTRASM) (Lunar Address) バイナリエディタ スプライトのASMファイル SpriteToolが出るまでリンクは切っているようですが、ファイルは残っているのでリンクを貼っておきます。 ハンマーブロス パタメット ファイアパックン デカクリボー ちくわブロック、毒キノコなど 手順 ※現在は参考になりそうな書き込みを置いておきます。 861 名前: ◆zZZzZZzU/6 投稿日:2006/06/24(土) 11 51 19 サンプルのパッチのものも参考にして、なんとなく出来た気がするので手順。 ハンマーブロスの場合。 1.TwackerでROMファイルを開き、書き換えたいスプライトを選択する。 2.Codeの部分にコードを入れる。asmファイルに Tweaker code 10B707010000XXXX と、いった感じで書いてあるはず。 3.XXXXの部分には使いたいASMポインタの値を書きます。 例ではXXXX=87A7となっているようです。 4.バイナリで89A7まで飛び、[22 00 80 19 60]に書き換えます。 5.asmファイルをTRASMを使ってコンパイルする。 6.binファイルが出来るので、それをバイナリエディタで開く。 7.バイナリエディタ内のファイルをコピーし、C8200に入れる。 8.おk。 正直、何故7でC8200に入れるかわからないです。 多分JSLでそこに飛ぶようになっているからだと思いますが。 しかし、JSLで何処に飛ぶのか、それが理解できないと 複数のスプライトが挿入できないような気がするのであります。 長文スマソ。わかりにくくて更にスマソ・・・。 どうやらSprite Toolというものが開発されているらしいので、そちらを待った方がいいかもです・・・。 862 名前:壁に耳あり、障子にメアリーさん 投稿日:2006/06/24(土) 12 22 29 861 おお、素晴らしい。 当該記事流し読みしたけど、なんかリアルタイム処理の問題で0C8200に入れる必要があるだの書いてあった気がする。 初期ROM状態で既にでなにかデータが入ってるけど、上書きしちゃって良いのかな >しかし、JSLで何処に飛ぶのか、それが理解できないと 4でJSL $19 8000を命令してるわけだけど、 SNESアドレス:$19 8000が、PCアドレスで$0C 8200となる。 SNESアドレス⇔PCアドレスのコンバータはLunar Addressを使うと楽。 後の問題は、複数入れるためにはスプライト番号を変えたいんだけど、 スプライト番号とアドレスの対応が分からない。ちょっとsprite関連の記事を読んでみる。 863 名前: ◆zZZzZZzU/6 投稿日:2006/06/24(土) 13 42 06 書き忘れましたが、LMでカスタマイズされたものではないと導入できないようです。 862 上書き 0C8200あたりには00しかなかった気がするのですが。 だからたぶん影響は無いと思われます・・・。 JSLの件 ここでもLunar Addressが役立つのですな。?です! お陰様でファイアパックンとハンマーブロスの導入に成功したであります。 http //smw-vip.hp.infoseek.co.jp/cgi-bin/sn/src/smw0750.png ファイアパックンはスプライト番号36を使いました。 XXXXは、[E41F]を使いました。36番は元々、E41Fだったらしいのでそのまま使用。 他のスプライトに影響は多分ない・・・と思うのですが。 それで、E61Fを[22 C4 82 19 60]に書き換え。 asmファイルの『org $198000』を、『org $1982C4』に書き換え、 TRASMでコンパイルし、binファイルの中身を 0C84C4(ハンマーブロスのコードの後)に入れました。 と、いった感じです。 911 名前:壁に耳あり、障子にメアリーさん 投稿日:2006/06/25(日) 20 00 22 863 >他のスプライトに影響は多分ない・・・と思うのですが。 カロンと骨メットが高速になってしまうようです 912 名前: ◆zZZzZZzU/6 投稿日:2006/06/25(日) 20 29 28 910 wikiにも書いてた? どの辺で詰まったのかkwskお願い。 911 前に歩かないね。 一応Tweakerでも確認してみたら、カロンと骨メットにはE42Bが使われていた。 やはり影響あったのね。 他の開き部分を探して使うしかないのか・・・。 913 名前:壁に耳あり、障子にメアリーさん 投稿日:2006/06/25(日) 21 00 47 E2B0(0xE4B0)あたりがダミーデータっぽいのでそこを使ってみた。 914 名前:壁に耳あり、障子にメアリーさん 投稿日:2006/06/25(日) 21 22 56 912 ASMポインタに関しては、同じバンクの中で空いた領域を指定することが出来ますよ 例えば、PCアドレスで$CF1EあたりのFFFF・・・は大丈夫だと思われます。 (前に自作したときはこの領域でもおkでした) ASMポインタに記述するときはヘッダ分削るので$CD1Eになります mikeyk氏がパタメットを作ったというのでwktkしていたけど やっぱりジタバタマリオになるのか・・・完全バージョンはやっぱり難しいみたいだなぁ(´・ω・`) その他 パタメットだけスプライト番号、12番を使わないとうまくいかないらしいです。
https://w.atwiki.jp/nsmb/pages/146.html
使用スプライト 敵 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ 20 クリボー 21 パタクリボー 24 メット 25 トゲゾー 26 逆さとゲゾー 46 バブル ○ ○ 47 ドッスン 48 デカドッスン 54 ジュゲム 57 ノコノコ 58 パタパタ 60 トゲメット 61 でかテレサ ○ 65-68 パックンフラワー(上下左右) 69-72 ファイアパックン(上下左右) 73 地面に生えるパックンフラワー 74 地面に生えるデカパックンフラワー 75 地面に生えるファイアパックン 76 地面に生えるデカファイアパックン 80 ファイアブロス ○ 92 キラー砲台 ○ 94 ブーメランブロス ○ 95/308 ハンマーブロス ○ 100 バサバサ 101 ボム兵 ○ 102 クラッシャー 104 ビリキュー 105 サンボ 108 線で制御されるビリキュー 111 ゲッソー 112 子連れゲッソー 115 プクプク(小) ○ 118 カロン ○ ○ ○ 119 デカカロン ○ ○ 120 ヒマンブロス 124 ジュゲムのエリア生成 125-126 金網移動ノコノコ 130 ハナチャン 131 テレサ ○ 134 クロスケー 136 回転キラー砲台 146 ワンワン 150 ジャンププクプク【未使用】 151 フグマンネン 154 フグマンネンのエリア生成 158 ファイアスネーク ○ ○ 170 イガクリボー 177 ケロンパ 180 バクバク 181 ジャンププクプクのエリア生成 193 ウニラ 194 デカウニラ 195 カニボー 196 フィッシュボーン ○ 197 アコヤ貝 198 こでかクリボー 199 デカクリボー 200 マメクリボー 215 キラーのエリア生成 217 ケロンパのエリア生成 220 プクプクのエリア生成 224 エイジロウ 230 イバラムシ 232 メカクッパ 233 チョーチン ○ 235 エイジロウのエリア生成 238 キリフキー 240 巨大ハナチャン 241 巨大ハナチャンのエリア生成【未使用】【バグあり】 258 チョーチンのエリア生成 263 ウキパックン 264 テクテクパックン 269 パラボム 270 パラボムのエリア生成 271 チュウチュウ 272 アイスブロス 291 パタメット 292 デカパタメット 296 デカメット【未使用】 303 チョロプー 323 輪になっているテレサ ○ 326 キングキラー 334 プクプク(大) 335 プクプクの群れ 338 上下移動式キラー砲台 342 ブラックパックン 343 チョロボン 352 プー 369 ペンタロー 384 ペンタローの生成 395 トゲプク 414 ガボン 425 ライトクラゲ 451 チュウチュウの生成(?) 仕掛け ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ 23 左右に移動するリフト 27 DS版の砦ブロック【縦移動】【未使用】 28 DS版の砦ブロック【横移動】【未使用】 30 白い砦ブロック【未使用】 31 上下に移動するリフト 32 スターコイン 50 乗ると落ちるリフト ○ 51 リモコンで傾くリフト 52 未使用の回転足場【未使用】 53 流砂 ○ 56/281 リモコンで上昇するリフト 59 リモコンで移動するリフト 62 ファイアバー 63 トゲ鉄球 ○ ○ 77 カギ【未使用】 78 乗ると跳ねる雲 81-86 トゲ付きの白い砦ブロック【未使用】 87 弾力性が強い未完成な足場【未使用】 98 巨大トゲ鉄球 ○ ○ 99 土管から敵を生成するスプライト 103 リフトの生成 114/117/304/307/309 バーナー 122 一方通行のリフト 123 振り子の足場【未使用】 127/128 反転できる金網 ○ 129 水車リフト 133 グラグラ岩 135 揺れる溶岩の足場 137/140/141/142 トゲ棍棒 ○ 138 水 139 溶岩 ○ ○ 143 矢印 144 赤コイン ○ 145 水に浮くタル 147 コイン(配置必須) 148 ジャンプ台 149 一定方向に回転する回転制御コントローラー ○ ○ 155 線で移動するスターコイン 156 赤コインリング ○ 157 巨大レンガブロック【未使用】 161 土管水流 166 氷スネークブロック 172/382 ネジで作動するキノコの足場 173 巨大丸太 174 一方通行ゲート 175 パタブロック 176 ルーレットブロック 178 天秤リフト 182 イベントで作動するドア 186 マメマリオ専用の入り口 187/333 プレイヤーブロックとリフト 188 中間ポイント 201/265/311 氷柱 202 大砲【バグがあるので使用非推奨】 ○ 204 タル/鉄球の生成 ○ 205/226 水泡 207/208 ?ブロック ○ 209 レンガブロック ○ 212/355/360 回転床 214 お化け屋敷のフリーフォール足場 216 毒沼 219/312 伸び縮みブロック 221 隠しブロック 222 コンベアで移動するトゲ【未使用】 223 ジャンプブロック 225 水に浮くコイン【未使用】 227 土管大砲 228 伸び縮みキノコ 229 砂間欠泉 ○ 231 揺れるキノコ 234/446 雲 ○ 237/459/461 青コインと拍手コントローラー 242 捕まることができるバー 243 川 253/255/256 回転制御コイン/ブロック ○ 254 回転制御土管 257 移動する鉄製ブロック 259/276/277/278/452 ドア 262 幽霊のアイテム 266 回転金網 267 リモコンの金網 268 溶岩の間欠泉 ○ ○ 274 歯車 275 イカダ 286 回転する滑車 288 タル 289 木箱/鉄箱 293 火山噴火エリア ○ 294 氷のブロック 295 ナット 297 竜コースター 298/299/300/301 大砲 ○ 305 丸いライト 306 回転するライト 310 矢印看板 315 ネジ 316 ネジで作動するブロック 318 木箱/鉄箱の生成 321 矢印ブロック 325 お化け屋敷のスタンド 327 ネジで作動するリフト 330 はしご 331 振り子の足場 341 巨大甲羅 345/346 揺れるリフト 354/356 砦ブロック 357 ヨッシーの果物/クッキー 359/447 ライト ○ 361 クリスタルブロック 362/366/367 カラーボックス 368/373 ライト付きイカダ 370 ジュゲムを出現させるブロック 376 移動金網 377-380 土管(上下左右) 385 持てる氷ブロック 386 POWブロック ○ 387 薮 388 タル 389 ネジで動くスターコイン 390 ネジで動くコイン 391 ライトブロック ○ 392 マジックボールのエリア生成 393 プロペラブロック 394 レミーのボール 396 乗ると下がるリフト ○ 397 お化け尾敷の下がる足場 398/400/401/404 巨大トゲ棍棒 413 ウェンディのリング 416 マメマリオ限定1UP 417 スピンすると出現するコイン 420 巨大ライトブロック ○ 424 椰子 426 ファイアボールの生成 433 浮いているハテナブロック 437 ポール 438 回転制御する砦のブロック ○ 440 ロープ ○ 441 キノコの足場 453 海藻 460 銀色の歯車ブロック 464 ツタ/鎖 466 溶岩の鉄ブロック 471 巨大植木鉢 472/473/475 流氷 (Triggering Event/Target Eventが絡むイベントスプライト) 部屋番号 イベントスプライトの名前 ID/配置されるエリア ① ② ③ ④ ⑤ ⑥ ⑦ If、一転方向に回転する回転制御コントローラー、タイルの破壊・生成イベント ID 21-20/Area2 ⑧ ⑨ 赤コイン、?スイッチ ID 35,36/Area2 ⑩ ?スイッチ/!スイッチ/タイル破壊•生成イベント ID 80-96/Area2 ⑪
https://w.atwiki.jp/psp_daisuki/pages/21.html
GBAをPSPで動作させるエミュレーター 『gpSP』を紹介します 用意するもの CFWを導入済みのPSP ゲームのROMファイル (吸出すのが一番いいのですが、無理という方はRom HustlerなどでDLしてください、違法なので自己責任で。もう一度言います自己責任ですよ。 BIOSファイル(こちらのファイルも違法です、DLは自己責任ですromhustler biosでググってください、もう一度言います自己責任です こちらもすい出せるのでなるべく吸い出してください) gpSP まずgpSPをダウンロードして解凍します。 フォルダ内のファイルをgpspに変更 biosファイルのファイル名を gba_bios.binにリネーム gpSPのフォルダ内に ROM フォルダが無い場合は ROM という名前のフォルダを作りましょう 吸出し またはDLしたROMファイルはROMフォルダに入れましょう ここまでが終わったらUSB接続してPSP→GAMEの中にgpSPを入れましょう。 あとは起動して楽しみましょう 念のため操作方法ものせておきます。 GBAのL=PSPのL GBAのR=PSPのR GBAの方向キー=PSPの方向キーまたはアナログパット GBAのAボタン=PSPの○ボタン GBAのBボタン=PSPの×ボタン GBAのSTARTボタン=PSPの□ボタン △はサブメニュー GBAのセレクトボタン=PSPのセレクトボタン _ 名前 コメント
https://w.atwiki.jp/puyokouryaku/pages/75.html
お勧めGBAエミュレーター エミュレーター名 説明(機能説明など) 解説 VisualBoyAdvance(VBA) 定番中の定番。精度も高い。GB/GBCも動作するマルチエミュレータ。サウンド録音機能、ムービーキャプチャ機能、改造コード、各種グラフィックフィルタ、スキン機能、デバッグ機能などの多彩な機能をサポート。 GO!(準備中・・・。) BoycottAdvance それなりの精度。MP3サウンド録音機能、ムービーキャプチャ機能、デバッグ機能など一通りの機能をサポート。 GO!(準備中・・・。) NO$GBA なかなかの精度。数あるGBAエミュレータの中でも最速の動作スピードを誇る。改造コード、通信機能などをサポート。 GO!(準備中・・・。) 機能・エミュレーター名 BoycottAdvance NO$GBA VBA VBALink どこでもセーブ ○ ○ ○ ○ ジョイパッド ○ ○ ○ ○ フィルタ × ○ ○ ○ ゲーム速度調整 ○ × ○ ○ ネット対戦 × × × ○ 改造コード × CB/GS/PAR CB/GS/PAR CB/GS/PAR 日本語対応 × × ○ ○ 解説 GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) 機能・エミュレーター名 BATGBA(v2.25b) BA(v0.2.8) BA/SDL(v0.2.8 R1) DreamGBA(v2.5) NO$GBA(v2.4c) RBA(v1.3.0.0) VGBA(v3.0) VBA(v1.7.2) VBA-SDL(v1.7.2) D D起動 E/W E/W E - E W E E/W E 圧縮ROM読込 ZIP ZIP,GZIP ZIP,GZIP - ZIP,ARJ ZIP GZIP ZIP,GZIP ZIP,GZIP リアルタイムセーブ 無制限 10 4 - 無制限 無制限 1(無制限) 10(無制限) 10 スクリーンキャプチャ PNG,BMP - BMP BMP O BMP,PNG - PNG,BMP PNG,BMP サウンド録音 - WAV,MP3 - - - WAV,WMA MIDI WAV - ムービーキャプチャ AVI - - - - - - AVI - フルスクリーン表示 - O O O - O O O O ジョイパッド O O O O O - O O O 連射キー - O - - - - O O O スピードアップキー - - - - O - O O O 傾きセンサー - - - - - - - O O 改造コード - - - - O O - O - 通信機能 - - - - O O - - - RTC (内蔵時計) - - - - O O O O O デバッグ機能 O O - - - O O O O IPSパッチ当て - - - - - O - O O 日本語メニュー - パッチ - - - プラグイン - プラグイン - GBA BIOS 任意 任意 任意 要 任意 任意 任意 任意 任意 DirectX 要 任意 要 要 不要 要 不要 要 不要 解説GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。) GO!(準備中・・・。)
https://w.atwiki.jp/cc65/pages/28.html
kihon.hの作成 kihon.hの解説 留意事項 kihon.hの作成 メモ帳に以下の内容を書き、kihon.hという名前でcc65/includeに保存します。 ///////////////////////////////////////////////////////////////////////////////// // 2016.10.19 ver 0.15 // 煮るなり焼くなりお好きにどうぞ。 // ----------------------------------------------------------------------------- // cc65@wiki // http //www34.atwiki.jp/cc65/ ///////////////////////////////////////////////////////////////////////////////// #define REGIST_PPU_CTRL1 (char*)0x2000 #define REGIST_PPU_CTRL2 (char*)0x2001 #define REGIST_PPU_STS (char*)0x2002 #define REGIST_SPR_ADR (char*)0x2003 #define REGIST_SPR_GRA (char*)0x2004 #define REGIST_SCROLL (char*)0x2005 #define REGIST_ADR (char*)0x2006 #define REGIST_GRA (char*)0x2007 #define REGIST_DMA (char*)0x4014 #define JOYPAD (char*)0x4016 #define BTN_A 0x80 #define BTN_B 0x40 #define BTN_SELECT 0x20 #define BTN_START 0x10 #define BTN_UP 0x08 #define BTN_DOWN 0x04 #define BTN_LEFT 0x02 #define BTN_RIGHT 0x01 #define GUN_TRIGGER 0x10 #define GUN_HIT 0x08 #define MIC_USE 0x04 unsigned char padinfo[2][2]; unsigned char padother; //コントローラ確認 void CheckPad() { unsigned char i,j,ret; *JOYPAD = 1; *JOYPAD = 0; padother= 0; for(i=0; i 2; i++) { padinfo[i][1] = padinfo[i][0]; padinfo[i][0]= 0; for(j=0; j 8; j++) { ret = *(JOYPAD + i); padinfo[i][0] = 1; padinfo[i][0] += (ret 0x01); padother |= (ret 0x0F); } } } //ボタン押しっぱなし player 0=1P , 1=2P char ButtonDown(unsigned char player,unsigned char btn) { if(padinfo[player][0] btn) { return 1; } else { return 0; } } //ボタン押す char ButtonPush(unsigned char player,unsigned char btn) { if((padinfo[player][0] btn) ! (padinfo[player][1] btn)) { return 1; } else { return 0; } } //マイク・光線銃など char ControlOther(unsigned char btn) { if(padother btn) { return 1; } else { return 0; } } // PPUコントロールレジスタの初期化 void InitPPU() { *REGIST_PPU_CTRL1 = 0x00; *REGIST_PPU_CTRL2 = 0x00; } // PPUコントロールレジスタの設定 void SetPPU(unsigned char flag1,unsigned char flag2) { *REGIST_PPU_CTRL1 = flag1; *REGIST_PPU_CTRL2 = flag2; } // スクロール設定 void SetScroll(unsigned char x, unsigned char y) { *REGIST_SCROLL = x; *REGIST_SCROLL = y; } //背景設定(繰り返し) void FillBackground(unsigned char address1, unsigned char address2, unsigned char val, unsigned char cnt) { char i; *REGIST_ADR = address1; *REGIST_ADR = address2; for (i = 0; i cnt; i++) { *REGIST_GRA = val; } } //背景設定 void SetBackground(unsigned char address1, unsigned char address2, unsigned char *bg, unsigned char cnt) { char i; *REGIST_ADR = address1; *REGIST_ADR = address2; for (i = 0; i cnt; i++) { *REGIST_GRA = *(bg + i); } } //座標から背景のアドレス計算 void GetBackgroundAddress(unsigned char screen, unsigned char x, unsigned char y, char *ret) { unsigned int pos; switch (screen) { case 0 //左下 pos = 0x2000; break; case 1 //右下 pos = 0x2800; break; case 2 //左上 pos = 0x2400; break; case 3 //右上 pos = 0x2c00; break; } pos += y * 0x20 + x; *(ret + 0) = (pos 0xff00) 8; *(ret + 1) = pos 0x00ff; } //属性設定(繰り返し) void FillAttribute(unsigned char address1, unsigned char address2, unsigned char val, unsigned char cnt) { FillBackground(address1,address2,val,cnt); } //属性設定 void SetAttribute(unsigned char address1, unsigned char address2, unsigned char *atr, unsigned char cnt) { SetBackground(address1,address2,atr,cnt); } //パレット設定 void SetPalette(unsigned char *palette,unsigned char sprite) { char i; *REGIST_ADR = 0x3f; if (sprite) { *REGIST_ADR = 0x10; } else { *REGIST_ADR = 0x00; } for (i = 0; i 16; i++) { *REGIST_GRA = *(palette + i); } } //スプライト設定 void SetSprite(unsigned char first,unsigned char x,unsigned char y,unsigned char index,unsigned char flag) { if (first) { *REGIST_SPR_ADR=0x00; } *REGIST_SPR_GRA=y; *REGIST_SPR_GRA=index; *REGIST_SPR_GRA=flag; *REGIST_SPR_GRA=x; } //DMA転送領域初期化 void InitDMA(unsigned char *address) { int i; for(i=0; i 256; i++) { *(address + i)=0; } } //DMA転送準備 void SetDMA(unsigned char *address,unsigned char first,unsigned char x,unsigned char y,unsigned char index,unsigned char flag) { static unsigned char cnt; if (first) { cnt = 0; } *(address + cnt + 0)=y; *(address + cnt + 1)=index; *(address + cnt + 2)=flag; *(address + cnt + 3)=x; cnt+=4; } //DMA転送 void SendDMA(unsigned char address) { *REGIST_DMA = address; } //VBlank待ち void VBlank() { while (! (*REGIST_PPU_STS 0x80) ); } //0爆弾待ち void ZeroSprite() { while ( (*REGIST_PPU_STS 0x40) ); while (! (*REGIST_PPU_STS 0x40) ); } kihon.hの解説 CheckPad:コントローラの確認。基本的に毎回呼び出す。 ButtonDown:押されたボタンの確認。(押し続ける) ButtonPush:押されたボタンの確認。(押す→離す) ControlOther:マイク・光線銃の確認。 InitPPU:PPUコントロールレジスタの初期化。 SetPPU:PPUコントロールレジスタの設定。flag1:PPUコントロールレジスタ1の設定。bit7:VBlank時にNMIを実行 bit6:PPUマスター/スレーブセレクト bit5:スプライトサイズ(0 8x8,1 8x16) bit4:BGパターンテーブルアドレス(0 $0000,1 $1000) bit3:スプライトパターンテーブルアドレス(0 $0000,1 $1000) bit2:PPUアドレスインクリメント(0 +1,1 +32) bit0,1:表示するネームテーブルアドレス番号(00:$2000・左下、01:$2400・左上、10:$2800・右下、11:$2C00・右上) flag2:PPUコントロールレジスタ2の設定。bit5-7:bit0=1のとき背景色/bit0=1のとき色強調000 なし・001 緑・010 青・100 赤(それ以外の数字は不可) bit4:スプライト表示(0 非表示,1 表示) bit3:BG表示(0 非表示,1 表示) bit2:スプライトクリップ(0 画面の左8ドットを表示しない,1 クリップなし) bit1:BGクリップ(0 画面の左8ドットを表示しない,1 クリップなし) bit0:ディスプレイタイプ(0 カラー,1 モノクロ) SetScroll:背景のスクロール。x:横位置。 y:縦位置。 FillBackground:背景の設定(繰り返し)。address1:出力開始位置(上位2バイト) address2:出力開始位置(下位2バイト) val:出力内容(マスの番号) cnt:出力を繰り返す数 SetBackground:背景の設定。address1:出力開始位置(上位2バイト) address2:出力開始位置(下位2バイト) *bg:出力内容のポインタ cnt:出力内容のバイト数 GetBackgroundAddress:座標から背景のアドレスを算出。screen:画面(0 左下・初期画面,1 右下,2 左上,3 右上) x:横位置。 y:縦位置。 *ret:アドレスを格納する1バイト×2の配列 SetPalette:パレットの設定。*palette:パレット内容のポインタ sprite:0:背景用パレット 1:スプライト用パレット FillAttribute:属性(背景4マス×4マス毎にどのパレットを使うか)の設定。(繰り返し)address1:出力先(上位2バイト) address2:出力先(下位2バイト) val:出力内容 cnt:出力を繰り返す数 SetAttribute:属性(背景4マス×4マス毎にどのパレットを使うか)の設定。address1:出力先(上位2バイト) address2:出力先(下位2バイト) *atr:出力内容のポインタ cnt:出力内容のバイト数 SetSprite:スプライトの設定。first:1=1つ目のスプライト 0=2つ目以降 x:横位置 y:縦位置 index:何コマ目の画像を表示するか flag:表示条件 7bit:上下反転 6bit:左右反転 5bit:背景よりも後ろに表示 0,1bit:パレット番号 SetDMA:DMA転送準備。(スプライト用領域の設定)*address:スプライト用領域の開始アドレス first:1=1つ目のスプライト 0=2つ目以降 x,y,index,flag:SetSpriteと同内容。 SendDMA:DMA転送address:スプライト用領域の開始アドレスの三桁目 0x1=0x0100 VBlank:VBlank待ち処理。 ZeroSprite:0爆弾待ち処理。 ※SetRegister・SetBackground・SetAttribute・SetPaletteは便宜上分けているだけで、やっている処理は同じです。 ※FillBackgroundとFillAttributeも同様。 留意事項 SetBackgroundによる描画が間に合わない場合、背景がまだらに表示されます。 VBlank() SetBackground(0x20,0x00,(char *)bg,32); SetScroll( 0, 0 ); 一時的に背景の描画を停止し、その間に描画することで回避できます。 SetPPU(0x08,0x06); SetBackground(0x20,0x00,(char *)bg,32); SetScroll( 0, 0 ); SetPPU(0x08,0x1e); 描画する範囲を狭めることでも回避できます。 VBlank(); SetBackground(0x20,0x00,(char *)bg,10) SetScroll( 0, 0 ); VBlank(); SetBackground(0x20,0x0a,(char *)bg,10) SetScroll( 0, 0 ); VBlank(); SetBackground(0x20,0x14,(char *)bg,12) SetScroll( 0, 0 ); SetBackgroundを呼び出さずにベタに処理を書くとより効果的です。(#defineの使用は問題ありません。) *REGIST_ADR = 0x20; *REGIST_ADR = 0x00; *REGIST_GRA = 0; *REGIST_GRA = 1; *REGIST_GRA = 31;
https://w.atwiki.jp/p2rdj/pages/1656.html
ニクテラ Nyktera Nykteras, or bat sprites, are gentle sprites known for their affectionate nature and incredible hospitality. Nykteras share features with bats, but the type of bat varies by location, as nykteras tend to form small colonies in locations with bats similar to their own nature. A nyktera's sense of hospitality is such that they're willing to share with any who need it, even bitter foes. However, violating a nyktera's hospitality is one of their greatest taboos, inviting rare anger and retribution from the nyktera who was wronged, as well as their large extended family. “知識の想起”――フェイ(〈自然〉) DC 13 一般的な知識 DC 11 専門知識 DC 8 ニクテラ Nyktera クリーチャー-1 NG 超小型 スプライト フェイ 出典 Bestiary 3 254ページ 知覚+6;(8 to Seek creatures using hearing) 夜目 言語 共通語、森語;speak with bats 技能 〈隠密〉+5、〈軽業〉+5、〈交渉〉+5 【筋】-3、【敏】+3、【耐】±0、【知】±0、【判】+2、【魅】+3 Speak with Bats/Speak with Bats A nyktera can communicate with bats and use Diplomacyto Make an Impressionon bats and Request things from bats. Wrath of Spurned Hospitality/Wrath of Spurned Hospitality A nyktera whose hospitality is betrayed becomes enraged at the violation of a funda[精神] aspect of their fey nature. They must succeed at a DC 20 Will save or begin involuntarily attacking the traitor. At the end of each of their turns、if they choose、they can attempt another Will save to end the effect;otherwise、the effect lasts until the traitor is subdued or leaves the nyktera's presence. As long as their righteous fury lasts、the nyktera gains a +2 status bonus to attack and damage rolls for their fist Strikes. AC 15;頑健+2、反応+7、意志+6 HP 10;弱点 冷たい鉄 2 移動速度 10フィート、飛行40フィート 近接 [one-action] 拳 +7[+3/-1](機敏、巧技、魔法)、ダメージ 1d6–3[殴打]ダメージ 遠隔 [one-action] ultrasonic pulse +7[+2/-3](力術、魔法、射程20フィート)、ダメージ 1d4[音波] 始原生得呪文 DC 17;1レベル ヒール;キャントリップ (1レベル) ゴースト・サウンド、ダンシング・ライツ